package com.dmap.admin.service.backgroundv3;

import com.dmap.admin.controller.backgroundv3.param.AppVersionEditParam;
import com.dmap.admin.controller.backgroundv3.param.AppVersionParam;
import com.dmap.admin.po.AndroidVersion;
import com.dmap.admin.po.AppVersion;
import com.dmap.admin.po.IosVersion;

import java.util.List;

/**
 * @author: zmh
 * @create: 18-8-22
 * @description: app版本
 **/
public interface APPVersionService {
    /**
     * 增加app版本
     *
     * @param param
     * @return
     */
    int insertAppVersion(AppVersionParam param);

    /**
     * 更新app版本
     *
     * @param param
     * @return 0 代表更新错误   2 代表没有该app版本
     */
    int updateAppVersion(AppVersionEditParam param);

    /**
     * 删除单个app版本
     *
     * @param id
     * @return 0 代表删除失败
     */
    int deleteAppVersion(long id);

    /**
     * 删除多个app版本
     *
     * @param ids
     * @return 3 代表已经关联最新的ios或者安卓版本
     */
    int deleteAppVersionList(String ids);

    /**
     * 筛选APP版本
     *
     * @return
     */
    List<AppVersion> selectAppVersion();

    /**
     * 筛选APP版本
     *
     * @return
     */
    int countAppVersion();

    /**
     * 得到单个app版本
     *
     * @param id
     * @return
     */
    AppVersion getAppVersion(long id);

    /**
     * 更新App的最新安卓版本
     *
     * @param androidVersion
     * @return 2 代表不存在该andriodVersion
     */
    int updateAppAndroidVersion(AndroidVersion androidVersion);

    /**
     * 更新App的最新ios版本
     *
     * @param iosVersion
     * @return 2 代表不存在该iosVersion
     */
    int updateAppIosVersion(IosVersion iosVersion);

    /**
     * 得到唯一性验证，是否存在相同的app编号
     *
     * @param appNumber
     * @return 1 代表存在  2 代表不存在
     */
    int getAppUnique(String appNumber);

    /**
     * 根据app编号查找appVersion
     *
     * @param appNumber
     * @return
     */
    AppVersion getAppVersionByAppNumber(String appNumber);
}
